/**
* @author AlbertDarren
* @contact 2563491540@qq.com
*/
#include <iostream>
#include <queue>
#include <string>
using namespace std;
template<typename Tp>
class StrLen
{
public:
    bool operator()(const Tp& str1,const Tp& str2)
    {
        return str1.size()>str2.size();
    }
};
int main_9()
{
    priority_queue<int,vector<int>> vect_pri_que;
    priority_queue<int,deque<int>> deq_pri_que;
    vect_pri_que.push(-5);
    vect_pri_que.push(10);
    vect_pri_que.push(2);
    cout << vect_pri_que.size() << endl;
    while (!vect_pri_que.empty())
    {
        cout << vect_pri_que.top() << " ";
        vect_pri_que.pop();
    }
    cout  << endl;
    priority_queue<string,vector<string>,StrLen<string>> str_pri_que;
    auto ls={"Bob","Franck","Lisa","Linda","Bonnie","Jack","Alexander"};
    for(auto name:ls)
    {
        str_pri_que.push(name);
    }
    while (!str_pri_que.empty())
    {
        cout << str_pri_que.top() << " ";
        str_pri_que.pop();
    }

    return 0;
}
